package valueObject;

import entity.Formulario;
import entity.TipoDeContratacion;
import java.util.ArrayList;
import java.util.List;

public class TipoDeContratacionVO implements ValueObject<TipoDeContratacion>{
    private int id;
    private String nombre;
    private List<FormularioVO> formularios;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public List<FormularioVO> getFormularios() {
        return formularios;
    }

    public void setFormularios(List<FormularioVO> formularios) {
        this.formularios = formularios;
    }

    @Override
    public TipoDeContratacion toEntity() {
        TipoDeContratacion tipoDeContratacion = new TipoDeContratacion();
        tipoDeContratacion.setId(id);
        tipoDeContratacion.setNombre(nombre);
        if (formularios != null) {
            List<Formulario> formulariosE = new ArrayList<Formulario>();
            for (FormularioVO formulario : formularios) {
                formulariosE.add(formulario.toEntity());
            }
            tipoDeContratacion.setFormularios(formulariosE);
        }
        else{
            tipoDeContratacion.setFormularios(new ArrayList<Formulario>());
        }
        return tipoDeContratacion;
    }

    @Override
    public String toString() {
        return nombre;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (!(obj instanceof TipoDeContratacionVO)) {
            return false;
        }
        TipoDeContratacionVO tipoDeContratacionVO = (TipoDeContratacionVO) obj;
        return (this.id == tipoDeContratacionVO.getId());
    }
    
}
